![Android Studio の Code Style をプロジェクトで共有する方法](https://devio2023-media.developers.io/wp-content/uploads/2015/10/logo_android_studio_512dp.png)
Android Studio の Code Style をプロジェクトで共有する方法
コードフォーマッタを共有しよう
スペースの位置や空行の行数、インデントのスペース数などは人によって好みが分かれるところです。
ですがチームで開発している以上、それらを統一しなければプロジェクトのコードは一貫性のないバラバラなものになってしまいます。
そのような コーディング規約 はプロジェクト開始の早い段階でよく話し合って決めておくのが吉でしょう。
今回はこのようなコーディング規約をコードフォーマッタに設定し、プロジェクトで共有する方法をご紹介します。
コードフォーマッタの設定方法
Android Studio -> Preferences... -> Editor -> Code Style を選択します。
Scheme の初期値は Default
となっています。
これは Android Studio デフォルトのコードフォーマッタです。
まずはこれを元にしてカスタムの Scheme を作りましょう。
Scheme の右側にある Manage ボタンをクリックして Save as... を選択します。
ここで Scheme の名前を決めれば Default
Scheme のコピーができあがります。
※ Default
Scheme の設定を直接変えても Default (1)
のようにコピーが作成されます。Default
Scheme は残り続けるので安心してください。
作成した Scheme が選択されていることを確認してください。
この状態で設定を変更していきます。
Code Style の設定は数多く存在するため詳細については書きませんが、私の好みの設定を 3 つピックアップします。
Java
- Wrapping and Braces
- 'if()' statement
- Force braces
Do not force
をAlways
に変更- これによって if 文は全て
{
と}
で括られるようになる
- Force braces
- 'if()' statement
- Blank Lines
- Keep Maximum Blank Lines
- In declarations:
1
- In code:
1
- Before '}':
0
- これらによってコード内に 2 行以上の連続する空行は存在しなくなる
- In declarations:
- Keep Maximum Blank Lines
XML
- Android
- Layout Files
- Insert line break after last attribute を
有効
に - これによって最後の属性と
>
の間に改行が入る
- Insert line break after last attribute を
- Layout Files
プロジェクトへの反映方法
Scheme の右側にある Manage ボタンをクリックして Copy to Project を選択します。
これで選択した Scheme の設定がプロジェクトに反映されます。
設定後の Scheme が Project
に変わっていることを確認しましょう。
Project
Scheme の変更はプロジェクトディレクトリの .idea/codeStyleSettings.xml
に保存されます。
.gitignore
ファイルで .idea/ ディレクトリを git 管理から外している場合は codeStyleSettings.xml
に対して除外設定を行いましょう。
.idea/* !.idea/codeStyleSettings.xml
以上です。
コードフォーマッタは可能であれば「プロジェクト」単位ではなく「部」や「会社」単位で統一したいところですね。
こちら は Open Source で有名な Square の Java Code Styles です。
Code Style で悩んでいる方は参考にしてみてはいかがでしょうか。
ミレニアム・ファルコン製作日記 #28
28 号 表紙
パーツ
成果
今回の作業は以下の 2 つでした。
- 左舷通路を組み立てる
- 内部ディテールを仮組みする
久々に来ました、クッションパッドの取り付け。
このクソ暑い時期にチマチマした作業はこたえますね。
これが最後のアーチであってくれ。
仮組みでは主船倉に繋がる通路を取り付けました。
コクピットへの通路もしっかりついています。
最近はパーツを合わせた際の規模が大きくなってきたのでとても楽しいです。
・・・置き場に困るけど。
それではまた次回。
May the Force be with you!